package builder.main.director;

import builder.main.itf.IMobileBuilder;
import builder.main.model.MobilePackage;

/**
 * 手机套餐指导员
 *      指导员知识一个中介服务而已，最终通过建造者设置实例对象；
 *      指导者起到了对建造者构建产品过程的封装，有效的减少了客户端使用建造者构建产品的各各过程。
 *
 */
public class MobileDirector {
    public MobilePackage createMobilePackage(IMobileBuilder mobileBuilder) {
        if (mobileBuilder != null) {
            //构建话费
            mobileBuilder.buildMoney();
            //构建短信
            mobileBuilder.buildShortInfo();
            //构建彩铃
            mobileBuilder.buildMusic();
            //返回手机套餐
            return mobileBuilder.getMobilePackage();
        }
        return null;
    }
}
